package main

import "fmt"

//管道的关闭
func main() {
	//管道的关闭
	//test()
	//遍历管道
	channelTraverse()
}

//管道的关闭
func test() {
	var c chan int = make(chan int, 10)
	c <- 10
	//当管道关闭后，再次放入输入，会出现“send on closed channel”异常
	close(c)
	c <- 100
}

//遍历管道
func channelTraverse() {
	var ch chan int = make(chan int, 100)
	for i := 0; i < 100; i++ {
		ch <- i
	}

	//遍历管道，如果不关闭管道，会出现异常
	//所以遍历之前，需要关闭管道
	close(ch)
	for v := range ch {
		fmt.Println("ch管道中的值：", v)
	}
}
